home *** CD-ROM | disk | FTP | other *** search
-
- <%@ Language=VBScript %>
- <% Option Explicit %>
- <%
- '-------------------------------------------------------------------------
- ' Multiple_Log_Details.asp: Serves in listing all the Multiple logs
- ' Copyright (c) Microsoft Corporation. All rights reserved.
- '-------------------------------------------------------------------------
- %>
-
- <!-- #include virtual="/admin/inc_framework.asp" -->
- <!-- #include virtual="/admin/ots_main.asp" -->
- <!-- #include file="loc_Log.asp" -->
- <!-- #include file="inc_Log.asp" -->
-
- <%
- '-------------------------------------------------------------------------
- ' Global Constants
- '-------------------------------------------------------------------------
- Const NAME_COLUMN = 0
- Const TYPE_COLUMN = 1
- Const DATE_COLUMN = 2
- Const SIZE_COLUMN = 3
- Const LOGS_PER_PAGE = 100
-
- Dim SOURCE_FILE
- Const ENABLE_TRACING = TRUE
- SOURCE_FILE = SA_GetScriptFileName()
-
- '-------------------------------------------------------------------------
- ' Global Variables
- '-------------------------------------------------------------------------
-
- Dim page 'Variable for page creation
- Dim rc 'Return value for CreatePage
-
- 'frame work variables
- Dim g_Type
- Dim g_bSearchChanged
- Dim g_bSearchRequested
- Dim g_iSearchCol
- Dim g_sSearchColValue
- Dim g_bPageChangeRequested
- Dim g_sPageAction
-
- Dim g_bPagingInitialized
- Dim g_iPageMin
- Dim g_iPageMax
- Dim g_iPageCurrent
-
- Dim g_iSortCol
- Dim g_sSortSequence
-
- Dim G_PageTitle 'To get the title accordingly
- Dim G_strLogFilePath 'FilePath
-
- '-------------------------------------------------------------------------
- ' Form Variables
- '-------------------------------------------------------------------------
- Dim F_strevent_title 'to get the log name.
-
- Dim L_PAGETITLE_LOGS_TEXT
- Dim L_TABLETITLE_TEXT
-
-
- 'Getting the inputs from the earliear form
- L_PAGETITLE_LOGS_TEXT= Request.QueryString("title")
-
- L_TABLETITLE_TEXT=Request.QueryString("title")
-
- G_PageTitle = GetTitle(Request.QueryString("Title"))
-
- '-------------------------------------------------------------------------
- ' Entry Point
- '-------------------------------------------------------------------------
- ' Create Page
- Call SA_CreatePage(G_PageTitle ,"",PT_AREA, page )
- Call SA_ShowPage( page )
-
- '---------------------------------------------------------------------
- ' Function name: OnInitPage
- ' Description: Called to signal first time processing for this page.
- ' Input Variables: PageIn and EventArg
- ' Output Variables: PageIn and EventArg
- ' Return Values: True/False
- ' Global Variables: None
- ' Called to signal first time processing for this page. Use this method
- ' to do first time initialization tasks.
- '---------------------------------------------------------------------
- Public Function OnInitPage(ByRef PageIn, ByRef EventArg)
- g_Type=Request.QueryString("type")
- OnInitPage = TRUE
-
- If ( ENABLE_TRACING ) Then
- Call SA_TraceOut(SOURCE_FILE, "OnInitPage")
- End If
-
- F_strevent_title = Request.QueryString("Title")
- ' Set default values
- '
- ' Sort first column in ascending sequence
- g_iSortCol = 0
- g_sSortSequence = "A"
-
- '
- ' Paging needs to be initialized
- g_bPagingInitialized = FALSE
- '
- ' Start on page #1
- g_iPageCurrent = 1
-
- End Function
-
- '---------------------------------------------------------------------
- ' Function name: OnServeAreaPage
- ' Description: Called when the page needs to be served.
- ' Input Variables: PageIn, EventArg
- ' Output Variables: PageIn and EventArg
- ' Return Values: TRUE to indicate no problems occured. FALSE to indicate errors.
- ' Returning FALSE will cause the page to be abandoned.
- ' Global Variables: None
- 'Called when the page needs to be served. Use this method to serve content.
- '---------------------------------------------------------------------
- Public Function OnServeAreaPage(ByRef PageIn, ByRef EventArg)
-
- Call ServeCommonJavaScript()
-
- If ( ENABLE_TRACING ) Then
- Call SA_TraceOut(SOURCE_FILE, "OnServeAreaPage")
- End If
-
- Dim table
- Dim iColumnFleName
- Dim iColumnFleType
- Dim iColumnDatecreated
- Dim iColumnSizeinKB
- Dim nReturn
- Dim nRowsAdded
- Dim iLogCount
-
- Dim objFso
- Dim objDir
- Dim objFile
- Dim strFileType
- Dim strLogFileDir
- Dim colFlags
-
- Dim oEncoder
- Set oEncoder = new CSAEncoder
-
-
- 'Getting the dir path from the registry
- strLogFileDir=GetPath(L_TABLETITLE_TEXT)
-
- table = OTS_CreateTable("","")
-
- 'Getting the FilePath of the selected log file
- G_strLogFilePath=GetPath(F_strevent_title)
- G_strLogFilePath = Server.URLEncode(G_strLogFilePath)
- '
- ' If the search criteria changed then we need to recompute the paging range
- If ( TRUE = g_bSearchChanged ) Then
- '
- ' Need to recalculate the paging range
- g_bPagingInitialized = FALSE
- '
- ' Restarting on page #1
- g_iPageCurrent = 1
- End If
-
- '
- ' Create columns and add them to the table
- colFlags = (OTS_COL_SEARCH OR OTS_COL_KEY OR OTS_COL_SORT)
- Call OTS_AddTableColumn(table, OTS_CreateColumnEx( L_FILENAME_TEXT, "left",colFlags, 15))
-
- colFlags = (OTS_COL_SEARCH OR OTS_COL_SORT)
- Call OTS_AddTableColumn(table, OTS_CreateColumnEx( L_FILETYPE_TEXT, "left",colFlags, 36))
-
- colFlags = (OTS_COL_SEARCH OR OTS_COL_SORT)
- Call OTS_AddTableColumn(table, OTS_CreateColumnEx( L_DATE_TEXT, "left",colFlags, 30))
-
- colFlags = (OTS_COL_SEARCH OR OTS_COL_SORT)
- Call OTS_AddTableColumn(table, OTS_CreateColumnEx( L_SIZE_TEXT, "left",colFlags, 15))
-
- '
- ' Set Tasks section title
- Call OTS_SetTableTasksTitle(table, L_TASKS_TEXT)
-
- '
- ' Add the tasks associated with User objects
-
- Call OTS_AddTableTask( table, OTS_CreateTaskEx(L_VIEW_TEXT, _
- L_VIEW_TEXT, _
- "logs/Single_Log_Details.asp?" & "logtitle=" & L_PAGETITLE_LOGS_TEXT & "&tab1=" & GetTab1() & "&tab2=" & GetTab2() ,_
- OTS_PT_AREA,_
- "OTS_TaskOne") )
-
- Call OTS_AddTableTask( table, OTS_CreateTaskEx(L_CLEAR_TEXT, _
- L_CLEAR_TEXT, _
- "logs/Text_Log_clear.asp?FilePath="& G_strLogFilePath & "&tab1=" & GetTab1() & "&tab2=" & GetTab2(),_
- OTS_PT_PROPERTY,"OTS_TaskAny") )
-
- Call OTS_AddTableTask( table, OTS_CreateTaskEx(L_DOWNLOAD_DETAILS_TEXT, _
- L_DOWNLOAD_DETAILS_TEXT, _
- "logs/Text_MultiLog_download.asp?FilePath=" & G_strLogFilePath,_
- OTS_PT_AREA,"OTS_TaskOne") )
-
- 'Logic for getting the files in the requested directory
- set objFso = CreateObject("Scripting.FileSystemObject")
-
- 'Checking for the file existence
- If objFso.FolderExists(strLogFileDir)=TRUE Then
-
- set objDir = objFso.GetFolder(strLogFileDir).Files
-
- 'Initializing the rows added
- nRowsAdded = 0
-
- iLogCount = 0
-
- For Each objFile in objDir
-
- 'Get the description of the file type
- strFileType = GetFileTypeDescription(mid(objFile.Name,1,2))
-
- If ( Len( g_sSearchColValue ) <= 0 ) Then
-
- ' Search criteria blank, select all rows
- '
- iLogCount = iLogCount + 1
-
- ' Verify that the current user part of the current page
- If ( IsItemOnPage( iLogCount,g_iPageCurrent, LOGS_PER_PAGE) ) Then
- Call OTS_AddTableRow( table,Array(objFile.Name,strFileType, _
- FormatDateTime(CDate(objFile.DateCreated)),clng(objFile.Size/1024)))
- End If
-
- '
- Else
- '
- ' Check the Search criteria
- '
- Select Case (g_iSearchCol)
-
- Case NAME_COLUMN
- '( ucase(left( arrServices(intCount,1) , len(g_sSearchColValue) )) = ucase(g_sSearchColValue) )
- If ( ucase(left( objFile.Name , len(g_sSearchColValue) )) = ucase(g_sSearchColValue) )then
- iLogCount = iLogCount + 1
- '
- ' Verify that the current user part of the current page
- If ( IsItemOnPage( iLogCount, g_iPageCurrent, LOGS_PER_PAGE) ) Then
- Call OTS_AddTableRow( table,Array(objFile.Name, _
- strFileType, FormatDateTime(CDate(objFile.DateCreated)),clng(objFile.Size/1024)))
- End If
- End If
-
- Case TYPE_COLUMN
-
- If ( ucase(left( strFileType, len(g_sSearchColValue) )) = ucase(g_sSearchColValue) ) Then
- iLogCount = iLogCount + 1
- '
- ' Verify that the current user part of the current page
- If ( IsItemOnPage( iLogCount, g_iPageCurrent, LOGS_PER_PAGE) ) Then
- Call OTS_AddTableRow( table,Array(objFile.Name, _
- strFileType,FormatDateTime(CDate(objFile.DateCreated)),clng(objFile.Size/1024)))
- End If
- End If
-
- Case DATE_COLUMN
- If ( InStr(1, objFile.DateCreated, g_sSearchColValue, 1) ) Then
- iLogCount = iLogCount + 1
- '
- ' Verify that the current user part of the current page
- If ( IsItemOnPage( iLogCount, g_iPageCurrent, LOGS_PER_PAGE) ) Then
- Call OTS_AddTableRow( table,Array(objFile.Name, _
- strFileType,FormatDateTime(CDate(objFile.DateCreated)),clng(objFile.Size/1024)))
- End If
- End If
-
- Case SIZE_COLUMN
- If ( InStr(1, clng(objFile.Size/1024), g_sSearchColValue, 1) ) Then
- iLogCount = iLogCount + 1
- '
- ' Verify that the current user part of the current page
- If ( IsItemOnPage( iLogCount, g_iPageCurrent, LOGS_PER_PAGE) ) Then
- Call OTS_AddTableRow( table,Array(objFile.Name, _
- strFileType,FormatDateTime(CDate(objFile.DateCreated)),clng(objFile.Size/1024)))
- End If
- End If
-
- Case Else
- Call SA_TraceOut(SOURCE_FILE, "Unrecognized search column: " + CStr(g_iSearchCol))
- iLogCount = iLogCount + 1
- '
- ' Verify that the current user part of the current page
- If ( IsItemOnPage( iLogCount, g_iPageCurrent, LOGS_PER_PAGE) ) Then
- Call OTS_AddTableRow( table,Array(objFile.Name, _
- strFileType,FormatDateTime(CDate(objFile.DateCreated)),clng(objFile.Size/1024)))
- End If
- End Select
- End If ' end of If ( g_bSearchRequested ) Then
- Next ' end of For Each objFile in objDir
-
- End IF 'end of If objFso.FolderExists(strLogFileDir)=TRUE
-
- ' Enable paging feature
- '
- Call OTS_EnablePaging(table, TRUE)
-
- '
- ' If paging range needs to be initialised then
- ' we need to figure out how many pages we are going to display
- If ( FALSE = g_bPagingInitialized ) Then
- g_iPageMin = 1
-
- g_iPageMax = Int(iLogCount / LOGS_PER_PAGE )
- If ( (iLogCount MOD LOGS_PER_PAGE) > 0 ) Then
- g_iPageMax = g_iPageMax + 1
- End If
-
- g_iPageCurrent = 1
- Call OTS_SetPagingRange(table, g_iPageMin, g_iPageMax, g_iPageCurrent)
- End If
-
- '
- ' If multiselection was requested then use multiselect OTS table
- If ( CInt(Request.QueryString("MultiSelect")) = 1 ) Then
- Call OTS_SetTableMultiSelection(Table, TRUE)
- End If
-
- '
- ' Sort the table
- '
- Call OTS_SortTable(table, g_iSortCol, g_sSortSequence, SA_RESERVED)
-
- '
- ' Send table to the response stream
- '
- Call OTS_ServeTable(table)
-
- 'Display no log entries message if there are no logs
- If iLogCount = 0 then
- Response.Write "<Br>" & " " & oEncoder.EncodeElement(L_NOLOGSAVAILABLE_TEXT)
- End if
-
- 'clean the objects
- set objDir = nothing
- set objFso = nothing
-
-
- OnServeAreaPage = TRUE
- End Function
-
-
- '---------------------------------------------------------------------
- ' Function: OnSearchNotify()
- '
- ' Synopsis: Search notification event handler. When one or more columns are
- ' marked with the OTS_COL_SEARCH flag, the Web Framework fires
- ' this event in the following scenarios:
- '
- ' 1) The user presses the search Go button.
- ' 2) The user requests a table column sort
- ' 3) The user presses either the page next or page previous buttons
- '
- ' The EventArg indicates the source of this notification event which can
- ' be either a search change event (scenario 1) or a post back event
- ' (scenarios 2 or 3)
- '
- ' Returns: Always returns TRUE
- '
- '---------------------------------------------------------------------
- Public Function OnSearchNotify(ByRef PageIn, _
- ByRef EventArg, _
- ByVal sItem, _
- ByVal sValue )
- OnSearchNotify = TRUE
-
- '
- ' User pressed the search GO button
- '
- If SA_IsChangeEvent(EventArg) Then
- If ( ENABLE_TRACING ) Then
- Call SA_TraceOut(SOURCE_FILE, "OnSearchNotify() Change Event Fired")
- End If
- g_bSearchChanged = TRUE
- g_iSearchCol = Int(sItem)
- g_sSearchColValue = CStr(sValue)
- '
- ' User clicked a column sort, OR clicked either the page next or page prev button
- ElseIf SA_IsPostBackEvent(EventArg) Then
- If ( ENABLE_TRACING ) Then
- Call SA_TraceOut(SOURCE_FILE, "OnSearchNotify() Postback Event Fired")
- End If
- g_bSearchChanged = FALSE
- g_iSearchCol = Int(sItem)
- g_sSearchColValue = CStr(sValue)
- '
- ' Unknown event source
- Else
- If ( ENABLE_TRACING ) Then
- Call SA_TraceOut(SOURCE_FILE, "Unrecognized Event in OnSearchNotify()")
- End If
- End IF
-
- End Function
-
-
- '---------------------------------------------------------------------
- ' Function: OnPagingNotify()
- '
- ' Synopsis: Paging notification event handler. This event is triggered in one of
- ' the following scenarios:
- '
- ' 1) The user presses either the page next or page previous buttons
- ' 2) The user presses the search Go button.
- ' 3) The user requests a table column sort
- '
- ' The EventArg indicates the source of this notification event which can
- ' be either a paging change event (scenario 1) or a post back event
- ' (scenarios 2 or 3)
- '
- ' The iPageCurrent argument indicates which page the user has requested.
- ' This is an integer value between iPageMin and iPageMax.
- '
- ' Returns: Always returns TRUE
- '
- '---------------------------------------------------------------------
- Public Function OnPagingNotify(ByRef PageIn, _
- ByRef EventArg, _
- ByVal sPageAction, _
- ByVal iPageMin, _
- ByVal iPageMax, _
- ByVal iPageCurrent )
- OnPagingNotify = TRUE
-
- g_bPagingInitialized = TRUE
-
- '
- ' User pressed either page next or page previous
- '
- If SA_IsChangeEvent(EventArg) Then
- If ( ENABLE_TRACING ) Then
- Call SA_TraceOut(SOURCE_FILE, "OnPagingNotify() Change Event Fired")
- End If
- g_bPageChangeRequested = TRUE
- g_sPageAction = CStr(sPageAction)
- g_iPageMin = iPageMin
- g_iPageMax = iPageMax
- g_iPageCurrent = iPageCurrent
- '
- ' User clicked a column sort OR the search GO button
- ElseIf SA_IsPostBackEvent(EventArg) Then
- If ( ENABLE_TRACING ) Then
- Call SA_TraceOut(SOURCE_FILE, "OnPagingNotify() Postback Event Fired")
- End If
- g_bPageChangeRequested = FALSE
- g_sPageAction = CStr(sPageAction)
- g_iPageMin = iPageMin
- g_iPageMax = iPageMax
- g_iPageCurrent = iPageCurrent
- '
- ' Unknown event source
- Else
- If ( ENABLE_TRACING ) Then
- Call SA_TraceOut(SOURCE_FILE, "Unrecognized Event in OnPagingNotify()")
- End If
- End IF
-
- End Function
-
-
- '---------------------------------------------------------------------
- ' Function name: OnSearchNotify()
- ' Description: Search notification event handler. When one or more columns are
- ' marked with the OTS_COL_SEARCH flag, the Web Framework fires
- ' this event
- ' Input Variables: PageIn,EventArg,sItem,sValue
- ' Output Variables: PageIn,EventArg,sItem,sValue
- ' Returns: Always returns TRUE
- '---------------------------------------------------------------------
- Public Function OnSearchNotify(ByRef PageIn, _
- ByRef EventArg, _
- ByRef sItem, _
- ByRef sValue )
- OnSearchNotify = TRUE
-
- '
- ' User pressed the search GO button
- '
- If SA_IsChangeEvent(EventArg) Then
- g_bSearchRequested = TRUE
- g_iSearchCol = Int(sItem)
- g_sSearchColValue = CStr(sValue)
- '
- ' User clicked a column sort, OR clicked either the page next or page prev button
- ElseIf SA_IsPostBackEvent(EventArg) Then
- g_bSearchRequested = FALSE
- g_iSearchCol = Int(sItem)
- g_sSearchColValue = CStr(sValue)
- '
- ' Unknown event source
- Else
- 'Call SA_TraceOut("LOGS_AREA", "Unrecognized Event in OnSearchNotify()")
- End IF
-
-
- End Function
-
- '---------------------------------------------------------------------
- ' Function: OnPagingNotify()
- ' Function name: OnPagingNotify()
- ' Description: Paging notification event handler.
- ' Input Variables: PageIn,EventArg,sPageAction,iPageMin,iPageMax,iPageCurrent
- ' Output Variables: PageIn,EventArg
- ' Return Values: Always returns TRUE
- ' Global Variables: G_*
- '---------------------------------------------------------------------
- Public Function OnPagingNotify(ByRef PageIn, _
- ByRef EventArg, _
- ByVal sPageAction, _
- ByVal iPageMin, _
- ByVal iPageMax, _
- ByVal iPageCurrent )
- OnPagingNotify = TRUE
-
- g_bPagingInitialized = TRUE
-
- '
- ' User pressed either page next or page previous
- '
- If SA_IsChangeEvent(EventArg) Then
- g_bPageChangeRequested = TRUE
- g_sPageAction = CStr(sPageAction)
- g_iPageMin = iPageMin
- g_iPageMax = iPageMax
- g_iPageCurrent = iPageCurrent
- '
- ' User clicked a column sort OR the search GO button
- ElseIf SA_IsPostBackEvent(EventArg) Then
- g_bPageChangeRequested = FALSE
- g_sPageAction = CStr(sPageAction)
- g_iPageMin = iPageMin
- g_iPageMax = iPageMax
- g_iPageCurrent = iPageCurrent
- '
- ' Unknown event source
- Else
- 'Call SA_TraceOut("LOGS_AREA", "Unrecognized Event in OnPagingNotify()")
- End IF
-
- End Function
-
- '---------------------------------------------------------------------
- ' Function: OnSortNotify()
- ' Function name: GetServices
- ' Description: Sorting notification event handler.
- ' Input Variables: PageIn,EventArg,sortCol,sortSeq
- ' Output Variables: PageIn,EventArg
- ' Return Values: Always returns TRUE
- ' Global Variables: G_*
- '---------------------------------------------------------------------
- Public Function OnSortNotify(ByRef PageIn, _
- ByRef EventArg, _
- ByVal sortCol, _
- ByVal sortSeq )
- OnSortNotify = TRUE
-
- g_iSortCol = sortCol
- g_sSortSequence = sortSeq
-
- End Function
-
- '-------------------------------------------------------------------------
- ' Function name: GetFileTypeDescription
- ' Description: gives the description of the type of file
- ' Input Variables: Filetype
- ' Output Variables: None
- ' Return Values: String
- ' Global Variables: None
- '-------------------------------------------------------------------------
- Function GetFileTypeDescription( strFileType )
-
- Dim strTemp
-
- 'constants used for the description of the type of file
- Const CONST_EX = "ex"
- Const CONST_IN = "in"
- Const CONST_NC = "nc"
-
-
- select case strFileType
- case CONST_EX
- strTemp = L_LOGFORMATW3C_TEXT
- case CONST_IN
- strTemp = L_LOGFORMATIIS_TEXT
- case CONST_NC
- strTemp = L_LOGFORMATNCSA_TEXT
- case else
- strTemp = L_LOGFORMATUNKNOWN_TEXT
- end select
-
- GetFileTypeDescription=strTemp
- End Function
-
- '---------------------------------------------------------------------
- ' Function: ServeCommonJavaScript
- '
- ' Synopsis: Serve common javascript that is required for this page type.
- '
- '---------------------------------------------------------------------
- Function ServeCommonJavaScript()
- %>
- <script>
- function Init()
- {
- }
- </script>
- <%
- End Function
-
- '-------------------------------------------------------------------------
- ' Function name: IsItemOnPage
- ' Description: Serves in Verifying that the current user part of the current page
- ' Input Variables: iCurrentItem, iCurrentPage, iItemsPerPage- current item
- ' Output Variables: None
- ' Return Values: TRUE/FALSE
- ' Global Variables: None
- ' Serves in Verifying that the current user part of the current page
- '-------------------------------------------------------------------------
- Private Function IsItemOnPage(ByVal iCurrentItem, iCurrentPage, iItemsPerPage)
- Dim iLowerLimit
- Dim iUpperLimit
-
- iLowerLimit = ((iCurrentPage - 1) * iItemsPerPage )
- iUpperLimit = iLowerLimit + iItemsPerPage + 1
-
- If ( iCurrentItem > iLowerLimit AND iCurrentItem < iUpperLimit ) Then
- IsItemOnPage = TRUE
- Else
- IsItemOnPage = FALSE
- End If
-
- End Function
- %>
-